package data;

import java.sql.*;
import java.util.*;
import utils.Transacao;

public class PacienteConsomeMedicamentoData {

  public void incluir(PacienteConsomeMedicamentoDO paciente_medicamento, Transacao tr) throws Exception {
     Connection con = tr.obterConexao();
     String sql = "insert into PacienteConsomeMedicamento (Paciente_idPaciente, Medicamento_idMedicamento, Quantidade) values (?, ?, ?)";
     PreparedStatement ps = con.prepareStatement(sql);
     ps.setInt(1, paciente_medicamento.getPaciente_idPaciente());
     ps.setInt(2, paciente_medicamento.getMedicamento_idMedicamento());
     ps.setString(3, paciente_medicamento.getQuantidade());
     int result = ps.executeUpdate();
  }

  public void excluir(PacienteConsomeMedicamentoDO paciente_medicamento, Transacao tr) throws Exception {
     excluir(paciente_medicamento.getPaciente_idPaciente(), tr);
  } // excluir

  public void excluir (int Paciente_idPaciente, Transacao tr) throws Exception {
     Connection con = tr.obterConexao();
     String sql = "delete from PacienteConsomeMedicamento where Paciente_idPaciente=?";
     PreparedStatement ps = con.prepareStatement(sql);
     //ps.setString(1, "qwerty");
     //ps.setString(2, "ert");
     ps.setInt(1, Paciente_idPaciente);
     int result = ps.executeUpdate();
  } // excluir 

  public void atualizar(PacienteConsomeMedicamentoDO paciente_medicamento, Transacao tr) throws Exception {
     Connection con = tr.obterConexao();
     String sql = "update PacienteConsomeMedicamento set Medicamento_idMedicamento=? Quantidade=? where Paciente_idPaciente=?";
     PreparedStatement ps = con.prepareStatement(sql);
     ps.setInt(1, paciente_medicamento.getMedicamento_idMedicamento());
     ps.setString(2, paciente_medicamento.getQuantidade());
     ps.setInt(3, paciente_medicamento.getPaciente_idPaciente());
     int result = ps.executeUpdate();
  } // atualizar
  public PacienteConsomeMedicamentoDO buscar(int Paciente_idPaciente, Transacao tr) throws Exception {

     Connection con = tr.obterConexao();
     String sql = "select * from PacienteConsomeMedicamento where  Paciente_idPaciente=?";
     PreparedStatement ps = con.prepareStatement(sql);
     ps.setInt(1, Paciente_idPaciente);
     ResultSet rs = ps.executeQuery();
     rs.next();
     PacienteConsomeMedicamentoDO paciente_medicamento = new PacienteConsomeMedicamentoDO();
     paciente_medicamento.setPaciente_idPaciente (rs.getInt("Paciente_idPaciente"));
     paciente_medicamento.setMedicamento_idMedicamento (rs.getInt("Medicamento_idMedicamento"));
     paciente_medicamento.setQuantidade(rs.getString("Quantidade"));
     return paciente_medicamento;
  } // buscar

  public Vector pesquisarPorIdPaciente(int Paciente_idPaciente, Transacao tr) throws Exception {
     Connection con = tr.obterConexao();
     System.out.println(" Entou no pesquisarPorIdPaciente do Data");
     String sql = "select * from PacienteConsomeMedicamento where Paciente_idPaciente=?";
     PreparedStatement ps = con.prepareStatement(sql);
     ps.setInt(1, Paciente_idPaciente);
     ResultSet rs = ps.executeQuery();
     System.out.println("query executada");
     Vector pacientes_medicamentos = new Vector();
     while (rs.next()) {
        PacienteConsomeMedicamentoDO p = new PacienteConsomeMedicamentoDO();
        p.setPaciente_idPaciente (rs.getInt("Paciente_idPaciente"));
        System.out.println(" got paciente " + p.getPaciente_idPaciente());
        p.setMedicamento_idMedicamento (rs.getInt("Medicamento_idMedicamento"));
        System.out.println(" got med" + p.getMedicamento_idMedicamento());
        p.setQuantidade(rs.getString("Quantidade"));
        System.out.println(" got qtade " + p.getQuantidade());
        System.out.println(" Ainda não adicionou no vetor");
        pacientes_medicamentos.add(p);
     }
     return pacientes_medicamentos;
  } // pesquisarPorIdPaciente

} // PacienteConsomeMedicamentoData
